#!/usr/bin/env bash
# ******************************************************
# Filename     : nfs-install-centos8.sh
# Last modified: 2024-02-22 12:18
# Version      :
# Author       : jack.zang
# Email        : jack_zang@126.com
# Description  :
# curl -sfL https://gitee.com/jack_zang/public-scripts/raw/master/shell/nfs/nfs-install-centos8.sh | sh -s -
#
# ******************************************************

# 创建共享目录
SHARE_DIR="/data/nfs"
mkdir $SHARE_DIR -pv && chmod 777 $SHARE_DIR

# 安装 nfs 和 rpc
yum -y install nfs-utils rpcbind

# 配置共享的目录
FILE="/etc/exports"
if [ -s "$FILE" ]; then
  echo "$FILE 文件不为空，请检查是否已经设置了 NFS！"
  exit 1
fi

cat > /etc/exports <<EOF
$SHARE_DIR *(rw,async,insecure,anonuid=1000,anongid=1000,no_root_squash)
EOF

# 加载 nfs 目录
exportfs -rv

# 启动 nfs server和 rpc 服务
systemctl enable rpcbind nfs-server
systemctl start nfs-server rpcbind

# 查看 rpc 开放的 nfs server 端口
rpcinfo -p
# 检查服务端看下是否正确加载了设置的 /etc/exports 配置
showmount -e localhost

echo "共享目录为： IP:$SHARE_DIR"
echo "使用方法： mount  -t nfs [ip]:$SHARE_DIR [mount_dir]"

# 客户端测试
#$ yum -y install nfs-utils
#$ mkdir /mnt/test
#$ mount  -t nfs 192.168.10.209:/data/nfs /mnt/test

